home *** CD-ROM | disk | FTP | other *** search
-
- (require (quote cookie))
-
- (provide (quote pcl-cvs))
-
- (defvar cvs-program "/usr/gnu/bin/cvs" "\
- *Full path to the cvs executable.")
-
- (defvar cvs-diff-program "/usr/gnu/bin/diff" "\
- *Full path to the diff program.")
-
- (defvar cvs-rmdir-program "/usr/gnu/bin/rmdir" "\
- *Full path to the rmdir program. Typically /bin/rmdir.")
-
- (defvar cvs-tempdir "/tmp" "\
- *Directory for temporary stuff")
-
- (defvar cvs-shell "/bin/sh" "\
- *Full path to a shell that can do redirection on stdout.")
-
- (defvar cvs-cvsroot nil "\
- *Specifies where the (current) cvs master repository is.
- Overrides the $CVSROOT variable by sending \" -d dir\" to all cvs commands.
- This switch is useful if you have multiple CVS repositories.")
-
- (defvar cvs-stdout-file nil "\
- Name of the file that holds the output that CVS sends to stdout.
- This variable is buffer local.")
-
- (defvar cvs-lock-file nil "\
- Full path to a lock file that CVS is waiting for (or was waiting for).")
-
- (defvar cvs-bakprefix ".#" "\
- The prefix that CVS prepends to files when rcsmerge'ing.")
-
- (defvar cvs-erase-input-buffer nil "\
- *Non-nil if input buffers should be cleared before asking for new info.")
-
- (defvar cvs-auto-remove-handled nil "\
- *Non-nil if cvs-mode-remove-handled should be called automatically.
- If this is set to any non-nil value entries that does not need to be
- checked in will be removed from the *cvs* buffer after every cvs-mode-commit
- command.")
-
- (defvar cvs-sort-ignore-file t "\
- *Non-nil if cvs-mode-ignore should sort the .cvsignore automatically.")
-
- (defvar cvs-auto-revert-after-commit t "\
- *Non-nil if committed buffers should be automatically reverted.")
-
- (defconst cvs-cursor-column 14 "\
- Column to position cursor in in cvs-mode.
- Column 0 is left-most column.")
-
- (defvar cvs-mode-map nil "\
- Keymap for the cvs mode.")
-
- (defvar cvs-edit-mode-map nil "\
- Keymap for the cvs edit mode (used when editing cvs log messages).")
-
- (defvar cvs-buffer-name "*cvs*" "\
- Name of the cvs buffer.")
-
- (defvar cvs-commit-prompt-buffer "*cvs-commit-message*" "\
- Name of buffer in which the user is prompted for a log message when
- committing files.")
-
- (defvar cvs-commit-buffer-require-final-newline t "\
- *t says silently put a newline at the end of commit log messages.
- Non-nil but not t says ask user whether to add a newline in each such case.
- nil means don't add newlines.")
-
- (defvar cvs-temp-buffer-name "*cvs-tmp*" "\
- *Name of the cvs temporary buffer.
- Output from cvs is placed here by synchronous commands.")
-
- (defvar cvs-diff-ignore-marks nil "\
- *Non-nil if cvs-diff and cvs-mode-diff-backup should ignore any marked files.
- Normally they run diff on the files that are marked (with cvs-mode-mark),
- or the file under the cursor if no files are marked. If this variable
- is set to a non-nil value they will always run diff on the file on the
- current line.")
-
- (defvar cvs-status-flags nil "\
- *List of strings to pass to ``cvs status''.")
-
- (defvar cvs-log-flags nil "\
- *List of strings to pass to ``cvs log''.")
-
- (defvar cvs-diff-flags nil "\
- *List of strings to use as flags to pass to ``diff'' and ``cvs diff''.
- Used by cvs-mode-diff-cvs and cvs-mode-diff-backup.
- Set this to '(\"-u\") to get a Unidiff format, or '(\"-c\") to get context diffs.")
-
- (defvar cvs-update-prog-output-skip-regexp "$" "\
- *A regexp that matches the end of the output from all cvs update programs.
- That is, output from any programs that are run by CVS (by the flag -u
- in the `modules' file - see cvs(5)) when `cvs update' is performed should
- terminate with a line that this regexp matches. It is enough that
- some part of the line is matched.
-
- The default (a single $) fits programs without output.")
-
- (defvar cvs-buffers-to-delete nil "\
- List of temporary buffers that should be discarded as soon as possible.
- Due to a bug in emacs 18.57 the sentinel can't discard them reliably.")
-
- (defvar cvs-inhibit-copyright-message nil "\
- *Non-nil means don't display a Copyright message in the ``*cvs*'' buffer.")
-
- (defconst pcl-cvs-version "1.05" "\
- A string denoting the current release version of pcl-cvs.")
-
- (defconst cvs-startup-message (if cvs-inhibit-copyright-message "PCL-CVS release 1.05" "PCL-CVS release 1.05. Copyright (C) 1992, 1993 Per Cederqvist
- Modified to run on Amiga by Reiner B. Nix 4-Nov-94.
- Pcl-cvs comes with absolutely no warranty; for details consult the manual.
- This is free software, and you are welcome to redistribute it under certain
- conditions; again, consult the TeXinfo manual for details.") "*Startup message for CVS.")
-
- (defvar cvs-update-running nil "\
- This is set to nil when no process is running, and to
- the process when a cvs update process is running.")
-
- (defvar cvs-cookie-handle nil "\
- Handle for the cookie structure that is displayed in the *cvs* buffer.")
-
- (defvar cvs-mode-commit nil "\
- Used internally by pcl-cvs.")
-
- (defun cvs-create-fileinfo (type dir file-name full-log) "\
- Create a fileinfo from all parameters.
- Arguments: TYPE DIR FILE-NAME FULL-LOG.
- A fileinfo has the following fields:
-
- marked t/nil
- type One of
- UPDATED - file copied from repository
- MODIFIED - modified by you, unchanged in
- repository
- ADDED - added by you, not yet committed
- REMOVED - removed by you, not yet committed
- CVS-REMOVED- removed, since file no longer exists
- in the repository.
- MERGED - successful merge
- CONFLICT - conflict when merging
- REM-CONFLICT-removed in repository, but altered
- locally.
- MOD-CONFLICT-removed locally, changed in repository.
- REM-EXIST - removed locally, but still exists.
- DIRCHANGE - A change of directory.
- UNKNOWN - An unknown file.
- MOVE-AWAY - A file that is in the way.
- REPOS-MISSING- The directory has vanished from the
- repository.
- MESSAGE - This is a special fileinfo that is used
- to display a text that should be in
- full-log.
- dir Directory the file resides in. Should not end with slash.
- file-name The file name.
- backup-file Name of the backup file if MERGED or CONFLICT.
- cvs-diff-buffer A buffer that contains a 'cvs diff file'.
- backup-diff-buffer A buffer that contains a 'diff file backup-file'.
- full-log The output from cvs, unparsed.
- mod-time Modification time of file used for *-diff-buffer.
- handled True if this file doesn't require further action." (byte-code "ÅÆÀÀ
- ÀÀÀÀ&
- B" [nil type dir file-name full-log CVS-FILEINFO vector] 12))
-
- (defun cvs-fileinfo->handled (cvs-fileinfo) "\
- Get the `handled' field from CVS-FILEINFO." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 0] 3))
-
- (defun cvs-fileinfo->marked (cvs-fileinfo) "\
- Check if CVS-FILEINFO is marked." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 1] 3))
-
- (defun cvs-fileinfo->type (cvs-fileinfo) "\
- Get type from CVS-FILEINFO.
- Type is one of UPDATED, MODIFIED, ADDED, REMOVED, CVS-REMOVED, MERGED,
- CONFLICT, REM-CONFLICT, MOD-CONFLICT, REM-EXIST, DIRCHANGE, UNKNOWN, MOVE-AWAY,
- REPOS-MISSING or MESSAGE." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 2] 3))
-
- (defun cvs-fileinfo->dir (cvs-fileinfo) "\
- Get dir from CVS-FILEINFO.
- The directory name does not end with a slash. " (byte-code "ÁAÂ\"" [cvs-fileinfo elt 3] 3))
-
- (defun cvs-fileinfo->file-name (cvs-fileinfo) "\
- Get file-name from CVS-FILEINFO." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 4] 3))
-
- (defun cvs-fileinfo->base-revision (cvs-fileinfo) "\
- Get the base revision from CVS-FILEINFO." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 5] 3))
-
- (defun cvs-fileinfo->cvs-diff-buffer (cvs-fileinfo) "\
- Get cvs-diff-buffer from CVS-FILEINFO." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 6] 3))
-
- (defun cvs-fileinfo->backup-diff-buffer (cvs-fileinfo) "\
- Get backup-diff-buffer from CVS-FILEINFO." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 7] 3))
-
- (defun cvs-fileinfo->full-log (cvs-fileinfo) "\
- Get full-log from CVS-FILEINFO." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 8] 3))
-
- (defun cvs-fileinfo->mod-time (cvs-fileinfo) "\
- Get mod-time from CVS-FILEINFO." (byte-code "ÁAÂ\"" [cvs-fileinfo elt 9] 3))
-
- (defun cvs-set-fileinfo->handled (cvs-fileinfo newval) "\
- Set handled in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 0] 3))
-
- (defun cvs-set-fileinfo->marked (cvs-fileinfo newval) "\
- Set marked in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 1] 3))
-
- (defun cvs-set-fileinfo->type (cvs-fileinfo newval) "\
- Set type in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 2] 3))
-
- (defun cvs-set-fileinfo->dir (cvs-fileinfo newval) "\
- Set dir in CVS-FILEINFO to NEWVAL.
- The directory should now end with a slash." (byte-code "AÂ I" [cvs-fileinfo newval 3] 3))
-
- (defun cvs-set-fileinfo->file-name (cvs-fileinfo newval) "\
- Set file-name in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 4] 3))
-
- (defun cvs-set-fileinfo->base-revision (cvs-fileinfo newval) "\
- Set base-revision in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 5] 3))
-
- (defun cvs-set-fileinfo->cvs-diff-buffer (cvs-fileinfo newval) "\
- Set cvs-diff-buffer in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 6] 3))
-
- (defun cvs-set-fileinfo->backup-diff-buffer (cvs-fileinfo newval) "\
- Set backup-diff-buffer in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 7] 3))
-
- (defun cvs-set-fileinfo->full-log (cvs-fileinfo newval) "\
- Set full-log in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 8] 3))
-
- (defun cvs-set-fileinfo->mod-time (cvs-fileinfo newval) "\
- Set full-log in CVS-FILEINFO to NEWVAL." (byte-code "AÂ I" [cvs-fileinfo newval 9] 3))
-
- (defun cvs-fileinfo-p (object) "\
- Return t if OBJECT is a cvs-fileinfo." (byte-code "Á!Â=" [object car-safe CVS-FILEINFO] 3))
-
- (defun cvs-use-temp-buffer nil "\
- Display a temporary buffer in another window and select it.
- The selected window will not be changed. The temporary buffer will
- be erased and writable." (byte-code " ÅÆ
- !!
- qÄÇ )" [dir default-directory cvs-temp-buffer-name buffer-read-only nil display-buffer get-buffer-create erase-buffer] 4))
-
- (defun cvs-update (directory &optional local) "\
- Run a 'cvs update' in the current working directory. Feed the
- output to a *cvs* buffer and run cvs-mode on it.
- If optional prefix argument LOCAL is non-nil, 'cvs update -l' is run." (interactive (byte-code "ÃÄÀ À$
- D" [nil default-directory current-prefix-arg read-file-name "CVS Update (directory): "] 5)) (byte-code "ÀÆÀ#Ç!" [nil default-directory current-prefix-arg directory local cvs-buffer-name cvs-do-update switch-to-buffer] 4))
-
- (defun cvs-update-other-window (directory &optional local) "\
- Run a 'cvs update' in the current working directory. Feed the
- output to a *cvs* buffer, display it in the other window, and run
- cvs-mode on it.
-
- If optional prefix argument LOCAL is non-nil, 'cvs update -l' is run." (interactive (byte-code "ÃÄÀ À$
- D" [nil default-directory current-prefix-arg read-file-name "CVS Update other window (directory): "] 5)) (byte-code "ÀÆÀ#Ç!" [nil default-directory current-prefix-arg directory local cvs-buffer-name cvs-do-update switch-to-buffer-other-window] 4))
-
- (defun cvs-filter (predicate list &rest extra-args) "\
- Apply PREDICATE to each element on LIST.
- Args: PREDICATE LIST &rest EXTRA-ARGS.
- Return a new list consisting of those elements that PREDICATE
- returns non-nil for.
-
- If more than two arguments are given the remaining args are
- passed to PREDICATE." (byte-code "ÆÁB
$ Ç@#
È
- @C\"A A*" [head nil tail list predicate extra-args dummy-header apply setcdr] 5))
-
- (defun cvs-mode-update-no-prompt nil "\
- Run cvs update in current directory." (interactive) (byte-code "ÁÂÁÁ#" [default-directory nil cvs-do-update] 4))
-
- (defun cvs-do-update (directory local dont-change-disc) "\
- Do a 'cvs update' in DIRECTORY.
- Args: DIRECTORY LOCAL DONT-CHANGE-DISC &optional NOTTHISWINDOW.
- If LOCAL is non-nil 'cvs update -l' is executed.
- If DONT-CHANGE-DISC is non-nil 'cvs -n update' is executed.
- Both LOCAL and DONT-CHANGE-DISC may be non-nil simultaneously.
-
- *Note*: DONT-CHANGE-DISC does not yet work. The parser gets confused." (byte-code "× Ø!?
ÙÚ\"ÛÜ! ?
ÙÝ!Þß!!àá
- âãO!äP!åÞÛæ!9 !çP!Èè
- !?
L Ùé
- \"è
- êP!?
Z Ùë
- \"
v ì !
v ì !í=v ì !î=
| Ùï!
ð P
-
ñò
óRq
- ôÍ!Èõö÷øùú%%) ûüì !!Pýþ !ÿ @ \"A B \"C D !e\"E !qÈF G )H I J $K L M ÈÈøN O
- P %$\"qûüì !!Pýþ !Õ)Q !,R â!" [cvs-program cvs-cvsroot this-dir directory update-buffer temp-name cvs-tempdir args nil cvs-update-running dont-change-disc local default-directory cvs-stdout-file process-connection-type cvs-shell mode-line-process cvs-buffer-name buffer-read-only cvs-cookie-handle cvs-startup-message t cvs-buffers-to-delete save-some-buffers file-exists-p error "%s: file not found (check setting of cvs-program)" getenv "CVSROOT" "Both cvs-cvsroot and environment variable CVSROOT unset." file-name-as-directory expand-file-name generate-new-buffer file-name-nondirectory 0 -1 "-update" make-temp-name "TMPDIR" "pcl-cvs." file-directory-p "%s is not a directory." "CVS" "%s does not contain CVS controlled files." process-status run stop "Can't run two `cvs update' simultaneously." " -d " " -n " " update " " -l " make-local-variable start-process "cvs" "-c" concat " " " > " ": " symbol-name set-buffer-modified-p buffer-modified-p set-process-sentinel cvs-sentinel set-process-filter cvs-update-filter set-marker process-mark get-buffer-create erase-buffer cvs-mode collection-create cvs-pp "---------- End -----" cookie-enter-first cvs-create-fileinfo MESSAGE "
- Running `cvs " "' in " "...
- " cvs-delete-unused-temporary-buffers sit-for] 47))
-
- (defun cvs-delete-unused-temporary-buffers (list) "\
- Delete all buffers on LIST that is not visible.
- Return a list of all buffers that still is alive." (byte-code "?